# Python3 序列

"""
所谓序列，指的是一块可存放多个值的连续内存空间，这些值按一定顺序排列，可通过每个值所在位置的编号（称为索引）访问它们

在 Python 中，序列类型包括字符串、列表、元组、集合和字典，这些序列支持以下几种通用的操作，
但比较特殊的是，集合和字典不支持索引、切片、相加和相乘操作
"""

# 序列索引

"""
序列中，每个元素都有属于自己的编号（索引）。从起始元素开始，索引值从 0 开始递增

Python 还支持索引值是负数，此类索引是从右向左计数，换句话说，从最后一个元素开始计数，从索引值 -1 开始
"""

str="W3Cschool"
print(str[0],"==",str[-9])
print(str[8],"==",str[-1])


# 序列切片

"""
序列实现切片操作的语法格式如下：
sname[start : end : step]

sname：表示序列的名称；
start：表示切片的开始索引位置（包括该位置），此参数也可以不指定，会默认为 0，也就是从序列的开头进行切片；
end：表示切片的结束索引位置（不包括该位置），如果不指定，则默认为序列的长度；
step：表示在切片过程中，隔几个存储位置（包含当前位置）取一次元素，也就是说，如果 step 的值大于 1，则在进行切片去序列元素时，会“跳跃式”的取元素。如果省略设置 step 的值，则最后一个冒号就可以省略
"""

str="W3Cschool"
#取索引区间为[0,2]之间（不包括索引2处的字符）的字符串
print(str[:2])
#隔 1 个字符取一个字符，区间是整个字符串
print(str[::2])
#取整个字符串，此时 [] 中只需一个冒号即可
print(str[:])


# 序列相加

"""
Python 中，支持两种类型相同的序列使用“+”运算符做相加操作，它会将两个序列进行连接，但不会去除重复的元素
"""

protocol = "https://"
url = "www.w3cschool.cn"
print(protocol+url)

# 序列相乘

"""
Python 中，使用数字 n 乘以一个序列会生成新的序列，其内容为原来序列被重复 n 次的结果
"""

str="W3Cschool"
print(str*3)

# 检查元素是否包含在序列中

"""
Python 中，使用 in 和 not in 运算符来检查元素是否包含在序列中
"""

str="W3Cschool"
print('C'in str)

# 和序列相关的内置函数

str="W3Cschool"
#计算序列的长度
print(len(str))
#找出最大的字符
print(max(str))
#找出最小的字符
print(min(str))
#对字符串中的元素进行排序
print(sorted(str))
















